//
//  iOSRenderSystem.h
//  GSEngine
//
//  Created by Гукун Александр on 1/27/14.
//  Copyright (c) 2014 SNK. All rights reserved.
//

#ifndef __GSEngine__iOSRenderSystem__
#define __GSEngine__iOSRenderSystem__

#include <iostream>
#include <GSEngine/Render/GSRenderSystem.h>
#include <GSEngine/Math/GSMath.h>
#include <GSEngine/Objects/GSRenderedObject.h>
#include <GSEngine/Objects/Camera.h>

namespace GSEngine
{
    class iOSRenderSystem: public GSRenderSystem
    {
    private:
        mat4 m_projMatrix;
    public:
        iOSRenderSystem();
        virtual ~iOSRenderSystem();
        void initWithWindow(size_t width, size_t height);
        void render(GSRenderedObject* object);
        // create orthogonal projection matrix
        virtual mat4 calcOrthoProjMatrix(float left, float right, float bottom, float top, float near, float far);
        // create perspective projection matrix
        virtual mat4 calcPerspProjMatrix(float fovy, float aspect, float nearZ, float farZ);
        // set scale removed
        vec3f setScale(vec3f scale);
    };
}


#endif /* defined(__GSEngine__iOSRenderSystem__) */
